// 引入axios
import Vue from "vue";
import axios from "axios";
import VueAxios from "vue-axios";
import { get } from "@/utils/storage";

// 默认url
axios.defaults.baseURL = "http://47.106.185.150" + "/api";

// 设置请求超时
axios.defaults.timeout = 10000;

// post请求的时候在这里进行一个默认的设置，即设置post的请求头为application/x-www-form-urlencoded;charset=UTF-8
axios.defaults.headers.post["Content-Type"] = "application/json";

// 请求拦截
axios.interceptors.request.use(
  (config) => {
    // 每次发送请求之前判断vuex中是否存在token
    // 如果存在，则统一在http请求的header都加上token
    // 即使本地存在token，也有可能token是过期的，所以在响应拦截器中要对返回状态进行判断
    const authorization = get("AUTH", "");
    if (authorization) {
      config.headers["Authorization"] = `${authorization.token}`;
    }
    return config;
  },
  (error) => {
    return Promise.error(error);
  }
);

Vue.use(VueAxios, axios);
